Controlling Vehicles Using Contextual Driver And/Or Rider Data Based On Automatic Passenger Detection and Mobility Status

ABSTRACT

A system may receive driving information associated with a first driver of a shared mobility service, the driving information comprising processed sensor data received from one or more sensors of a vehicle associated with the first driver. Subsequently, the system may determine, based on at least one of recorded audio signals and a wireless signal, one or more time periods during which the first driver was transporting at least one passenger of the shared mobility service. Thereafter, the system may determine, based on correlating the driving information with the one or more time periods, a first score for the first driver. Then, the system may transmit a notification of a ride opportunity to the first driver responsive to determining that the first score for the first driver is higher than a second score for a second driver.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of and claims priority to U.S.Pat. Application 15/650,080 filed on Jul. 14, 2017, which isincorporated by reference in its entirety herein.

BACKGROUND

Aspects of the disclosure relate to controlling the operation of one ormore vehicles of a shared mobility service, such as a rideshare service,car-share service, carpool service, peer to peer pickup service, and thelike. Shared mobility services are becoming increasingly common asshared mobility services and applications continue to improve.Autonomous vehicles may further increase the utility and appeal ofshared mobility services. Despite advances in various technologies,however, it may be difficult to effectively match riders with otherriders and/or drivers (e.g., for shared mobility services that do notrely on autonomous vehicles). Such effective matching is hampered bylack of data about riders, drivers, and vehicles, especially when a newrider, driver, or vehicle first joins a shared mobility service.Additionally, it may be difficult for a shared mobility service tocontrol vehicles of the shared mobility service to incentivize safe andeffective operation, provide risk insurance that accounts for the needsof shared mobility services, and otherwise control operation of a sharedmobility service.

SUMMARY

Aspects of the disclosure provide effective, efficient, scalable, andconvenient technical solutions that address and overcome the technicalproblems associated with matching riders with other riders and/ordrivers of a shared mobility service, particularly in instances in whichriders and drivers vary in terms of their personal attributes and/orwhen drivers vary in terms of safe driving and other abilities.

In accordance with one or more embodiments, a computing platform havingat least one processor, a memory, and a communication interface mayreceive driving information associated with a first driver of a sharedmobility service. Subsequently, the computing platform may determine,based on at least one of recorded audio signals and a wireless signal,one or more time periods during which the first driver was transportingat least one passenger of the shared mobility service. Thereafter, thecomputing platform may determine, based on correlating the drivinginformation with the one or more time periods, a first score for thefirst driver. Then, the computing platform may transmit a notificationof a ride opportunity to the first driver responsive to determining thatthe first score for the first driver is higher than a second score for asecond driver.

In some embodiments, the computing platform may also determine a safetyscore estimating the first driver’s safety, determine a revenue scoreestimating the first driver’s revenue, and combine the safety score withthe revenue score to yield a composite score.

In some embodiments, the computing platform may determine the one ormore time periods by analyzing the recorded audio signals to detect avoice of the at least one passenger. For example, the computing platformmay analyze the recorded audio signals to detect a voice of the leastone passenger by generating, from the recorded audio signals, a firstvoice print, comparing the first voice print to a second voice printassociated with the driver, and determining, based on the comparison,that the first voice print does not match the second voice print.Additionally or alternatively, the computing platform may determine theone or more time periods by analyzing the wireless signal associatedwith a mobile device of the at least one passenger. The computingplatform may also determine, for the one or more time periods, a numberof passengers of the shared mobility service.

In some embodiments, the computing platform may determine that the firstdriver and the second driver are within a threshold distance of a pickuplocation associated with the ride opportunity. In some embodiments, thecomputing platform may determine, based on the first score, a percentageof a fare to award to the first driver.

In some embodiments, the computing platform may transmit, to a mobilesystem associated with the first driver, an indication of the firstscore and a recommendation for improving the first score.

In some embodiments, the computing platform may determine, based on thedriving information, an attribute characterizing the first driver.

In some embodiments, the computing platform may increase, based on adetermination that a rider associated with the ride opportunity is alsoassociated with the attribute, a percentage of a fare awarded to thedriver.

In some embodiments, the computing platform may determine a similaritybetween a first profile of a first rider associated with the rideopportunity and a second profile of a second rider already beingtransported by the first driver, determine, based on the similarity, afare for the first rider.

These features, along with many others, are discussed in greater detailbelow.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is illustrated by way of example and not limitedin the accompanying figures in which like reference numerals indicatesimilar elements and in which:

FIGS. 1A-1C depict an illustrative operating environment for controllingvehicles in a shared mobility service based on scores and/or attributesin accordance with one or more example embodiments;

FIGS. 2A-2E depict an illustrative event sequence for controllingvehicles in a shared mobility service based on scores and/or attributesin accordance with one or more example embodiments;

FIGS. 3 & 4 depict example graphical user interfaces for controllingvehicles in a shared mobility service based on scores and/or attributesin accordance with one or more example embodiments;

FIGS. 5 & 6 depict example graphical user interfaces for controllingvehicles in a shared mobility service based on scores and/or attributesin accordance with one or more example embodiments; and

FIG. 7 depicts an illustrative method for controlling vehicles in ashared mobility service based on scores and/or attributes in accordancewith one or more example embodiments.

DETAILED DESCRIPTION

In the following description of various illustrative embodiments,reference is made to the accompanying drawings, which form a parthereof, and in which is shown, by way of illustration, variousembodiments in which aspects of the disclosure may be practiced. It isto be understood that other embodiments may be utilized, and structuraland functional modifications may be made, without departing from thescope of the present disclosure. Various connections between elementsare discussed in the following description. It is noted that theseconnections are general and, unless specified otherwise, may be director indirect, wired or wireless, and that the specification is notintended to be limiting in this respect.

Some aspects of the disclosure relate to controlling operation of ashared mobility service based on one or more profiles associated withdrivers, passengers, and/or vehicles of a shared mobility service. Aprofile may include one or more attributes of the driver, passenger,and/or vehicle as well as one or more scores. A score for a driver maybe calculated based on various contextual data characterizing, forexample, a driver’s history and record, driving habits, past performanceas a shared mobility service driver (as indicated, for example, byvarious information captured by a shared mobility service application153, including audio, video, and/or sensor information), onlinebehavior, and the like. In some examples, the score may characterize oneor more of a driver’s safety and a revenue associated with the driver.

A score may also be calculated for a passenger based on variouscontextual data characterizing, for example, a passenger’s drivinghistory and record, driving habits, past performance as a rider (asindicated, for example, by various information captured by a sharedmobility service application 153, including audio, video, and/or sensorinformation), online behavior, and the like. In some cases, a score mayalso be calculated for a vehicle based on various contextual datacharacterizing, for example, the vehicle’s driving history and record(e.g., accidents, repairs, etc.), maintenance records, and the like.

The score for a driver may be correlated with the driver’s performancewhen the driver is transporting riders of the shared mobility serviceand/or other passengers, instead of a driver’s performance duringpersonal driving. Accordingly, aspects of the disclosure relate toautomatically determining when passengers are present in a sharedmobility service vehicle. Techniques for detecting passengers mayinclude recording sounds within the vehicle and identifying the presenceof passengers by detecting voices. To prevent false positives, systemsdescribed herein may recognize a driver’s voice. Systems describedherein may also detect when a media program (e.g., a radio station orpodcast) is playing to avoid incorrectly detecting passengers based onvoices from the media program.

Further aspects of the disclosure relate to matching passengers withother passengers and/or a driver of a shared mobility service based onone or more shared or conflicting attributes of the passengers and/orthe driver. Personal attributes may be determined based on a variety ofdata including driving data, demographics data, credit history, purchasehistories, recorded audio or video signals of passengers and/or a driverinteracting during operation of the shared mobility service, and otherinformation. Such matching may provide a more pleasant ride forpassengers of a shared mobility service by matching them with otherdrivers and/or passengers with whom they share some common attribute, orwith whom they do not have conflicting attributes that may make the rideunpleasant.

Further aspects of the disclosure relate to providing preferences todrivers and/or vehicles with higher scores and/or closer profile matchesover other drivers and/or vehicles. For example, systems describedherein may provide, to higher-ranked drivers (e.g., drivers with closerprofile matches to a potential rider, and/or drivers carrying riderswith closer profile matches to a potential rider), a first preferencefor accepting a ride request from a passenger, an additional cut of afare, and/or opportunities to pick up highly-rated passengers, amongother preferences.

FIGS. 1A, 1B, and 1C depict an illustrative operating environment forcontrolling operation of a shared mobility service based on profiles inaccordance with one or more example embodiments. Referring to FIG. 1A,operating environment 100 may include a profile computing platform 110,a shared mobility service management system 120, driver/vehicle historysource(s) 130, dynamic information source(s) 140, a first mobile system150, a second mobile system 160, and a third mobile system 170. In oneor more arrangements, profile computing platform 110, shared mobilityservice management system 120, driver/vehicle history source(s) 130,dynamic information source(s) 140, the first mobile system 150, thesecond mobile system 160, and the third mobile system 170 may beconnected by a public network 180 (e.g., the Internet) and/or a privatenetwork 190 (e.g., a network associated with a shared mobility servicecompany), each of which may include one or more wired networks and/orone or more wireless networks. In addition, each of profile computingplatform 110, a shared mobility service management system 120,driver/vehicle history source(s) 130, dynamic information source(s) 140,the first mobile system 150, the second mobile system 160, and the thirdmobile system 170 may be special purpose computing devices configured toperform specific functions, as illustrated in greater detail below, andmay include specific computing components such as processors, memories,communication interfaces, and/or the like.

For example, profile computing platform 110 may be configured to controlor manage aspects of a shared mobility service, including receiving andanalyzing information about drivers, calculating scores, providingrankings of drivers and other shared mobility service management andcontrol functions. Shared mobility service management system 120 may beconfigured to manage aspects of a shared mobility service, includingreceiving trip requests, matching drivers with riders, and other sharedmobility service management or control functions. In some embodiments,profile computing platform 110 and shared mobility service managementsystem 120 may be parts of a single shared mobility service managementcomputing platform. Accordingly, functions and/or capabilities ascribedherein to either of profile computing platform 110 and shared mobilityservice management system 120 may be performed by a single system and/orcomputing platform. In some embodiments, profile computing platform 110may be associated with a first organization (e.g., an insurancecompany), and shared mobility service management system may beassociated with a second organization (e.g., a shared mobility servicecompany).

Driver/vehicle history source(s) 130 may be configured to collect andprovide information about drivers, riders, and/or vehicles, includingdemographics data, accident history, vehicle maintenance records,driving habits information, preference information (e.g., onlinepurchase information), and the like. Dynamic information source(s) 140may be configured to collect and provide information about drivingconditions such as weather conditions, road conditions, trafficconditions, and the like.

Mobile systems 150, 160, 170 may be configured to monitor and/or sendvehicle guidance data (which may include, e.g., speed data, positiondata, destination data, and operating status of autonomous mode)associated with corresponding vehicles to profile computing platform 110and/or one or more other computing devices included in operatingenvironment 100. Mobile systems 150, 160, 170 may be further configuredto run one or more applications, including shared mobility serviceapplication 153, for communicating and interfacing with profilecomputing platform 110, shared mobility service management system 120,and/or other devices connected via public network 180 and/or privatenetwork 190. The vehicles associated with mobile systems 150, 160, 170may be autonomous vehicles.

Referring to FIG. 1B, profile computing platform 110 may include aprocessor 111, memory 112, and a communication interface 117. Processor111 may control operations of profile computing platform 110, and memory112 may store instructions that, when executed by processor 111, causeprofile computing platform 110 to perform one or more functions.Communication interface 117 may include one or more wired and/orwireless network interfaces, and communication interface 117 may connectprofile computing platform 110 to one or more networks (e.g., publicnetwork 180 and/or private network 190) and/or enable profile computingplatform 110 to exchange information and/or otherwise communicate withone or more devices connected to such networks. Memory 112 may storeand/or otherwise provide a profile score module 113 and a profile scoredatabase 114. Profile score module 113 may store instructions that, whenexecuted by processor 111, cause profile computing platform 110 tocompute scores, rank drivers, and/or perform one or more other sharedmobility service management functions. Profile score database 114 maystore information that may be used by profile computing platform 110 incalculating scores and/or in performing one or more other sharedmobility service management functions. Initial score model(s) 115 andscore model(s) 116 may be used by profile computing platform 110 tocalculate the one or more scores.

Referring to FIG. 1C, mobile system 150 may include a processor 151,memory 152, and a communication interface 155. In some embodiments,mobile system 150 may be integrated with a vehicle; in some embodiments,mobile system 150 may be a separate device associated with a vehicle(e.g., a driver’s mobile phone or other mobile device), that mayoptionally communicate with and control functions of the vehicle.Processor 151 may control operations of mobile system 150, and memory152 may store instructions that, when executed by processor 151, causemobile system 150 to perform one or more functions. Communicationinterface 155 may include one or more wired and/or wireless networkinterfaces, and communication interface 155 may connect mobile system150 to one or more networks (e.g., public network 180 and/or privatenetwork 190) and/or enable mobile system 150 to exchange informationand/or otherwise communicate with one or more devices connected to suchnetworks. Memory 152 may store and/or otherwise provide a sharedmobility service application 153 and an application database 154. Sharedmobility service application 153 may store instructions that, whenexecuted by processor 151, cause mobile system 150 to interface andcommunicate with profile computing platform 110 and/or shared mobilityservice management system 120 in order to book trips, exchange sharedmobility service data, and perform other shared mobility servicemanagement functions. Application database 154 may store informationthat may be used by mobile system 150 for executing and performing thefunctions of the shared mobility service application 153.

Mobile system 150 also may include a display 156, sensors 157, a localdevice interface 158, and a vehicle control interface 159. Display 156may display one or more user interfaces to a driver and/or passengers ofa vehicle containing mobile system 150. Display 156 may accept input(e.g., via a touchscreen interface) or be associated with one or moreuser interfaces that accept input related to the displayed userinterfaces. Sensors 157 may sense conditions associated with a vehiclein which mobile system 150 may be installed and may output analog signaldata and/or digital signal data to mobile system 150. Such datacollected via sensors 157 may include engine data, performance data,navigation data, position data, speed data, acceleration data, brakingdata, and/or other vehicle data. Local device interface 158 may includeone or more wired and/or wireless communication interfaces and may, forexample, enable mobile system 150 to exchange information with and/orotherwise communicate with one or more devices that may be locatedinside of, close to, and/or within a predetermined distance of a vehiclein which mobile system 150 may be installed. For example, local deviceinterface 158 may enable mobile system 150 to communicate with one ormore smart phones, tablet computers, and/or other mobile computingdevices that may be used by and/or otherwise associated with a driver ofand/or one or more passengers of a vehicle in which mobile system 150may be installed. Vehicle control interface 159 may include one or morewired and/or wireless communication interfaces and may, for example,enable mobile system 150 to exchange information with and/or otherwisecommunicate with one or more devices and/or components of an autonomousvehicle in which mobile system 150 may be installed so as to directand/or control the autonomous vehicle in which mobile system 150 may beinstalled. For example, vehicle control interface 159 may enable mobilesystem 150 to accelerate and/or decelerate the autonomous vehicle inwhich mobile system 150 may be installed, steer the autonomous vehiclein which mobile system 150 may be installed, direct the autonomousvehicle in which mobile system 150 may be installed to one or morespecific locations, drive the autonomous vehicle in which mobile system150 may be installed, and/or otherwise control operations of theautonomous vehicle in which mobile system 150 may be installed.

FIGS. 2A, 2B, 2C, 2D, and 2E depict an illustrative event sequence forcontrolling operation of a shared mobility service based on driverprofiles. Referring to FIG. 2A, at step 201, shared mobility servicemanagement system 120 may receive information about a driver or rider,such as a driver or rider that joins a shared mobility service. Forexample, a new driver may provide identification information to a sharedmobility service that operates the shared mobility service managementsystem 120 during a job application process, or a new rider may provideidentification information to the shared mobility service during aprofile creation process. In some embodiments, a new member of a sharedmobility service may join as both a driver and rider of the sharedmobility service (as in, e.g., a carpool service). An operator (e.g., anemployee of the shared mobility service) may then enter the informationabout the new driver or rider (e.g., through a user interface renderedby the shared mobility service management system 120). In someinstances, shared mobility service management system 120 may beconfigured to automatically receive new driver information from anothersystem that provides an automated employment application workflow.Additionally or alternatively, shared mobility service management system120 may provide information for one or more existing drivers (e.g.,employees and/or contractors) or riders (e.g., existing customers ormembers of a shared mobility service). Information about the rider ordriver may include one or more of name, address, social security number,driver’s license number, insurance information, work experience, and thelike.

In some embodiments, information about a driver may further includeinformation a vehicle owned or used by the driver for the sharedmobility service. Accordingly, the information may include, for example,a vehicle identification number (VIN), a make, model, and/or year of thevehicle, and the like.

At step 202, profile computing platform 110 receives an identificationfor the rider or driver of step 201. The identification may include someor all of the information received at step 201. The profile computingplatform 110 may use the identification to uniquely identify the driveror rider in order to retrieve history information for the driver orrider. For example, a driver’s license number may uniquely identify thedriver or rider for the purpose of retrieving one or driver records fromlocal government agencies (e.g., a DMV). Accordingly, at step 203,profile computing platform 110 may send identification information toone or more driver/vehicle history source(s) 130 in order to retrievehistory information. For example, profile computing platform 110 maysend information including a driver’s license number to a serverassociated with a local government as part of a query for a motorvehicle report (MVR) comprising a driving history. As another example,profile computing platform 110 may send a name and a social securitynumber to a server associated with a background check company as part ofa query for a background check of the driver. Profile computing platform110 may also send identification information to one or more servers thatprovide offline data records, such as purchase history, and/or onlinebehavior records, such as websites visited, videos watched, and othersuch information. Profile computing platform 110 may further sendvehicle identification information to one or more servers that provideadditional information about a vehicle associated with a driver, such asmaintenance records, registration records, and the like. Thedriver/vehicle history source(s) 130 may retrieve the requestedinformation and return the information to profile computing platform110, as illustrated at step 203.

At step 204, profile computing platform 110 may calculate an initialprofile based on the information obtained at step 202 and/or step 203.The initial profile may include one or more attributes for the driver,rider, and/or vehicle, as well as one or more initial scores. Theprofile computing platform 110 may use one or more initial score models115 trained on training data to calculate one or more initial scores.The scores may include ratings of various aspects of the driver, rider,or vehicle. For example, scores for a driver may include a safety score,a revenue score, one or more scores that predict personality factors ofthe driver (e.g., interests of the driver, such as what kinds of moviesthe driver likes). The profile may further include other scores thatcomprehensively profile the driver, rider, or vehicle.

The one or more initial score models 115 may be trained usingmachine-learning techniques, statistical techniques, and/or other suchtechniques for correlating one or more features with historical outcomedata. The profile computing platform 110 may train the one or moremodels prior to executing the method of FIGS. 2A, 2B, 2C, 2D, and 2E.For example, to calculate a safety score, the historical outcome datamay include indications of safety for a number of drivers or riders. Tocalculate a revenue score, the historical outcome data may includeindications of revenue for drivers. To calculate a personality score,the data may further include indications of personality, such as historydata indicating a favorite shows and movies, mobile history data,internet browsing and purchase data, videos watched on a streamingwebsite, and the like. Accordingly, the one or initial score models 115may calculate an initial score that estimates, for example, safety,revenue, and/or personality scores for a rider and/or driver of theshared mobility service. In some embodiments, one initial score model115 may be trained to calculate an initial safety score, another initialscore model 115 may be trained to calculate an initial revenue score,and additional initial score models 115 may be trained to calculatevarious personality scores.

The profile computing platform 110 may train an initial score model 115for estimating safety using training data that correlates historyinformation with indicators of safety. For example, the training dataset may include history information obtained from an MVR, such asendorsements, license class, license statuses, license restrictions, andthe like. Additionally or alternatively, history information may includebackground check and other information such as criminal records,commercial records, financial records, credit scores, purchasehistories, web browsing histories, videos watched, and the like. Theindicators of driver safety may include accident data, tickets, licensesuspensions and/or cancellations, the cost of insuring a driver, and thelike. In some embodiments, such a model may be trained to output acontinuous value indicating an estimated shared mobility serviceinsurance premium (e.g., in dollars) over a given period (e.g.,monthly). Additionally or alternatively, a model may be trained tooutput a discrete value indicating, for example, an estimated range ofan insurance premium (e.g., in dollars) over a given period (e.g.,monthly). For example, the model may classify a driver or rider into oneof 5 discrete insurance premium ranges.

The profile computing platform 110 may also train an initial score model115 for estimating a driver’s revenue using training data thatcorrelates driver history information with indicators of shared mobilityservice revenue. For example, the training data set may include driverhistory information obtained from an MVR, such as endorsements, licenseclass, license statuses, license restrictions, and the like.Additionally or alternatively, driver history information may includebackground check information such as criminal records, commercialrecords, financial records, credit scores, and the like. The indicatorsof initial score model 115 revenue may include a numbers of trips taken(e.g., in a given period), revenue earned, and the like. In someembodiments, such an initial score model 115 may be trained to output acontinuous value indicating an estimated revenue (e.g., in dollars) overa given period (e.g., monthly). Additionally or alternatively, a modelmay be trained to output a discrete value indicating, for example, anestimated range of revenues (e.g., in dollars) over a given period(e.g., monthly). For example, the model may classify a driver into oneof 5 discrete revenue ranges.

The profile computing platform 110 may also train an initial score model115 for estimating a particular personality score (e.g., a type of moviethe rider or driver likes, whether the rider or driver is introverted orextroverted, or the like) using training data that correlates behaviordata with indicators of particular personality traits. For example, thetraining data set may include behavior data such as internet browsingand purchase data, mobile history data, videos watched on a streamingwebsite, and other such data. The indicators of personality traits mayinclude surveys of preferences, psychological assessments, and the like.In some embodiments, such an initial score model 115 may be trained tooutput a continuous value indicating an estimated strength of apersonality trait for a driver or rider.

Accordingly, at step 204, profile computing platform 110 may use theidentification information and/or history information obtained at step202 and/or step 203 as inputs to the one or more initial score models115. In some embodiments, profile computing platform 110 may extractand/or calculate features from the identification information and/orhistory information before using the features as inputs to the one ormore initial score models 115. Profile computing platform 110 may thendetermine, using the one or more initial score models 115, one or moreinitial scores. In some embodiments, the one or more initial scoremodels 115 may also output a confidence level. The confidence level mayreflect a relatively lower or higher confidence based, for example, onan amount of information that was input to the model, on a similaritybetween the information and training data used to train the one or moremodels, and the like.

In some embodiments, profile computing platform 110 may calculatemultiple scores using multiple initial score models 115. Then, profilecomputing platform 110 may optionally combine one or more of the scoresto form a composite initial score. For example, profile computingplatform 110 may average the safety and revenue scores to form acomposite initial score of profitability. In some instances, profilecomputing platform 110 may combine a safety score scaled to estimate adollar cost of insuring a new driver (e.g., the sub-score may be anegative number estimating a monthly insurance premium) with a revenuescore scaled to estimate the driver’s revenue in dollars (e.g., thesub-score may be a positive number estimating monthly revenue). Theprofile computing platform 110 may combine the scores using addition orsubtraction to yield a composite initial score that predicts a newdriver’s revenues less insurance costs.

In some embodiments, profile computing platform 110 may further trainand use one or more models to generate one or more vehicle scores basedon information about a vehicle. For example, a model may be trained tocalculate a vehicle score indicating, for example, a vehicle safety.

Profile computing platform 110 may further determine one or moreattributes for inclusion in the initial profile, based on informationreceived at steps 202 and/or 203. Profile computing platform 110 may useone or more rules to generate attributes. For example, if an MVR for adriver or rider indicates more than a threshold number (e.g., two)tickets for speeding within a certain time period (e.g., the last threeyears), the driver or rider may be tagged with an attribute of“speeder.” As another example, if maintenance records indicate thedriver or rider performed all the scheduled oil changes for a vehicleassociated with the driver or rider, the driver or rider may be taggedwith an attribute of “conscientious.” As a third example, drivers orriders may be tagged with one or more demographic profile attributesbased on one or more pieces of demographic information, such thatdrivers may be tagged with attributes for “young male,” “teen collegestudent,” “middle age professional,” or other such demographiccategories.

Profile computing platform 110 may similarly use one or more rulesand/or lists of vehicles to determine attributes for vehicles to includein an initial vehicle profile. For example, vehicles may be tagged withattributes such as “new” based on a model year of the vehicle, “sporty”based on model of the vehicle, “luxury” based on a make, model, trim,and/or color of a vehicle, and the like.

Profile computing platform 110 thus generates an initial profile for adriver, rider, and/or vehicle based on the information collected atsteps 202 and/or 203. The initial profile may include one or moreattributes and one or more initial scores.

Referring to FIG. 2B, at step 205, responsive to generating an initialprofile for a new driver, profile computing platform 110 may retrievescores for other drivers in a fleet of drivers (e.g., a group of driversassociated with a particular shared mobility service and/or a particulardivision of the shared mobility service, such as a city or otherlocation) and rank the new driver against the other drivers in thefleet. A shared mobility service associated with shared mobility servicemanagement system 120 may include a plurality of other drivers for whichprofile computing platform 110 previously calculated scores. The profilecomputing platform 110 may then rank the driver against the otherdrivers based on the scores associated with each driver (e.g., based ona composite score that estimates a driver profitability).

At step 206, profile computing platform 110 may estimate one or moreadjustments to a fleet profile based on the initial profile. Forexample, profile computing platform 110 may estimate that adding the newdriver to the fleet will cause an average revenue to rise, fall, or staythe same. As another example, profile computing platform 110 mayestimate that adding the new driver to the fleet will cause an averageinsurance premium and/or an overall insurance premium to rise, fall, orstay the same. Additionally, profile computing platform 110 may estimatea magnitude of each change (e.g., as a percentage, dollar figure, and/orthe like). To determine the change, profile computing platform 110 maycompare a fleet score average that includes the scores for the newdriver with a fleet score average that does not include the scores forthe new driver. Accordingly, based on whether the driver’s scores causethe fleet average to rise or fall, the shared mobility serviceassociated with shared mobility service management system 120 may decidewhether to hire the new driver (e.g., as a new contractor or employee).

The profile computing platform 110 may further provide similarityinformation based on certain attributes and/or scores associated with anew driver and/or a new rider. For example, if a large number of ridersof the shared mobility service have a strong interest in movies, and apotential new driver also has a strong interest in movies, then hiringthe potential new driver may help with customer engagement or retention.Accordingly, if the initial profile for a new driver indicates that thedriver has one or more scores or attributes (e.g., a willingness to takelong-haul rides, an interest in movies, or certain other personalityfactors) that are compatible with a large number of riders associatedwith the shared mobility service, the profile computing platform 110 mayflag the common attributes or scores for review by the shared mobilityservice. Similarly, if the driver’s initial profile has one or morescores or attributes that conflict with scores or attributes of riders(or other drivers) of the shared mobility service, the profile computingplatform may flag the conflicting attributes or scores for review.

At step 207, profile computing platform 110 may generate and transmit auser interface that presents summary information about the new driver,optionally including the estimated adjustments and/or flagged attributesor scores determined in step 206. The profile computing platform 110 maycause the user interface to be displayed on shared mobility servicemanagement system 120. For example, profile computing platform 110 mayrender the user interface as a web page that may be accessed by abrowser running on shared mobility service management system 120, send atransmission containing the information (e.g., an email), or otherwisecause display of the driver summary information.

Turning to FIG. 3 , an example user interface 300 displays informationabout summary information for a new driver. The summary information mayinclude driver information, such as a driver name, as illustrated.Additionally or alternatively, the information may include an initialscore, information about the initial score, and/or one or moreattributes of the new driver. In some embodiments, a value (e.g., anumerical value) of the initial score may be displayed in the userinterface 300. Additionally or alternatively, as illustrated, the userinterface may display a comparison of the initial score with an averagescore (e.g., a fleet average score). In some instances, a confidencelevel associated with the initial score may be displayed. In theillustrated embodiment, user interface 300 may further display anestimated adjustment to a fleet average of the score. Additionally oralternatively, the user interface 300 may display an estimatedadjustment to a fleet insurance premium (e.g., an average insurancepremium and/or a driver-specific insurance premium). The user interface300 may also display one or more attributes or scores that the drivershares in common with (or that conflict with) riders of the sharedmobility service, and optionally a percentage of riders associated withthe common or conflicting attribute.

A shared mobility service company may wish to make an employment and/orengagement decision (e.g., hire a driver as an employee or contractor,accept a driver as a new carpooler, accept a vehicle for a car-sharingservice, or the like) based on the information presented in the userinterface 300. Accordingly, in some embodiments, the user interface mayfurther include a recommendation of whether to hire the driver. Theprofile computing platform 110 may determine the recommendation based onthe driver information and estimated fleet profile adjustments. Forexample, profile computing platform 110 may compare the initial scoreand/or estimated fleet profile adjustments to one or more thresholds. Ifsome or all of the comparisons satisfy the threshold(s), profilecomputing platform 110 may indicate a hire recommendation.

With further reference to FIG. 2B, at step 208, the mobile system 150may collect and store driving and/or trips data associated with a driverand one or more riders during operation of the shared mobility service(e.g., after a new driver has been hired and starts working for theshared mobility service). Driving data may comprise data collected fromsensors 157 associated with a vehicle and/or the mobile system 150, suchas engine data, performance data, navigation data, position data, speeddata, acceleration data, braking data, and the like. Trips data mayinclude data about one or more shared mobility service trips, such aspickup and drop-off locations and/or times, identifications of one ormore passengers, a recommended route between the pickup and drop-offlocations, an actual route taken, and the like. The driving data and/orthe trips data may be associated with time stamps indicating a time atwhich the data was captured. The driving data and/or the trips data maybe collected by shared mobility service application 153 executing on themobile system 150, which may store the driving data and/or trips data inthe application database 154.

In some embodiments, the mobile system 150 may process the driving dataupon or after collection and/or storage. For example, the mobile system150 may use statistical and/or mathematical techniques to determineadditional driving data based on the raw sensor data collected fromsensors 157. As a specific example, mobile system 150 may analyze and/orprocess raw braking data and/or raw acceleration data to detectincidents in which a vehicle experienced sharp braking. Mobile system150 may log an event for each sharp braking incident. Each such eventmay include an indication of the severity of the braking, a speed whenbraking began, a time of the event, an amount of time that elapsed fromthe start of braking to the end of braking, and the like. As anotherexample, mobile system 150 may process and/or analyze raw speed and/orraw position data to determine an average speed of the vehicle (e.g.,during a certain time period, during a certain trip, and the like). Asanother example, the mobile system 150 may process position data todetermine one or more point of interest visited by a driver (e.g., atvarious times, including when the driver is not working). In someembodiments, the profile computing system 110 and/or the shared mobilityservice management system 120 may perform such processing and/oranalysis instead of or in conjunction with the mobile system 150.

Referring to FIG. 2C, at step 209, the mobile system may determine oneor more time periods associated with the driving and trips data duringwhich one or more riders were present in a vehicle associated withmobile system 150. In some embodiments, the trips data received at step209 may indicate when passengers were present. For example, if the tripsdata includes a pickup time and a drop-off time, profile computingplatform 110 may determine that a passenger was present during the timeperiod in between the pickup and drop-off times.

In some embodiments, the mobile system 150 and/or profile computingplatform 110 may determine or verify passenger presence informationbased on voice, video, and/or wireless signals captured by the sharedmobility service application 153 of mobile system 150. The sharedmobility service application 153 may record sounds via a microphone ofthe mobile system 150, record video via a video camera of the mobilesystem 150, and/or detect wireless signals received via an antenna ofthe mobile system 150. Then, the mobile system 150 and/or profilecomputing platform 110 may analyze the recorded sounds, videos, and/orwireless signals to determine time periods when passengers were present.

Accordingly, the shared mobility service application 153 may cause themobile system 150 to periodically or continuously record audio signalsof sounds in a passenger cabin of an associated vehicle. In someembodiments, the shared mobility service application 153 may locallyanalyze the audio signals to determine the presence of one or morevoices. Accordingly, the shared mobility service application 153 mayimplement one or more voice recognition and/or identification techniquesto recognize and classify acoustic features of speech. For example, theshared mobility service application 153 may generate individual voiceprints from recorded speech. A voice print may include statisticalmeasures of one or more acoustic qualities of recorded speech (e.g., infrequency and/or time domains).

The shared mobility service application 153 may be trained todistinguish a driver’s voice from a voice of other passengers.Accordingly, the shared mobility service application 153, during aconfiguration process, may record the driver speaking, analyze therecording to generate a voice print for the driver, and store thedriver’s voice print. Then, during the analysis of step 209, a voiceprint generated from recorded speech may be compared to the storeddriver’s voice print. If the voice prints differ (e.g., by more than oneor more threshold amounts), the shared mobility service application 153may determine that a passenger is present.

The shared mobility service application 153 may be configured to avoidrecording and/or analyzing audio signals containing media programs(e.g., radio programs, podcasts, music, and the like), in order to avoidincorrectly detecting a passenger based on speech within the mediaprogram. In some embodiments, mobile system 150 may control or access adigital output stream associated with such media programs (e.g., whenmobile system 150 is integrated with a vehicle and/or a vehicleentertainment system). The mobile system 150 may capture the digitalstream before its output by speakers in the passenger cabin. The sharedmobility service application 153 may then compare the digital stream toa recorded audio signals in order to determine a difference signal. Themedia program may be “cancelled out” of the difference signal by virtueof appearing in both the digital stream and the recorded audio. However,passenger voices may remain in the difference signal because they areonly included in the recorded audio. Therefore, the shared mobilityservice application 153 may analyze the difference signal to detectpassenger presence.

Additionally or alternatively, the shared mobility service application153 may be configured to recognize when recorded audio signals contain amedia program, and avoid detecting passenger presence based on suchrecorded audio signals. For example, shared mobility service application153 may detect that a recorded audio signal contains a media programbased on acoustic features of the recorded audio signal. In someembodiments, speech of a media program may be more uniform in volumethan a spoken conversation between passengers at different locations ina cabin of the vehicle. Accordingly, shared mobility service application153 may detect a media program in a recorded audio signal based onmeasuring a volume property of the recorded audio signal over time.Additionally or alternatively, speech of a media program may includemusical interludes, commercial advertisements, and the like that may bedetected by the presence, in the recorded audio signal, of pauses,music, volume changes, and the like. Accordingly, shared mobilityservice application 153 may be configured to detect a media programbased on the one or more acoustic features, including frequency and/ortime-domain features, of the recorded audio signal. If shared mobilityservice application 153 detects a media program in the recorded audiosignal, shared mobility service application 153 may avoid estimatingpassenger presence based on the recorded audio signal.

The shared mobility service application 153 may additionally oralternatively be further configured to determine time periods whenpassengers were present based on captured videos. The shared mobilityservice application 153 may cause the mobile system 150 to periodicallyor continuously record videos of a passenger cabin of an associatedvehicle. In some embodiments, the shared mobility service application153 may locally analyze the video signals to determine the presence ofone or more passengers in the vehicle. Accordingly, the shared mobilityservice application 153 may implement one or more image recognitionand/or identification techniques to recognize passengers appearing inthe video. The shared mobility service application 153 may be trained todistinguish a driver appearing in the video from other passengersappearing in the vehicle.

The shared mobility service application 153 may be further configured todetermine time periods when passengers were present based on detectingpassengers’ wireless mobile devices. In some embodiments, sharedmobility service application 153 may cause the mobile system 150 topassively monitor wireless signals, such as cellular signals, Wi-Fisignals, BLUETOOTH signals, and the like, to detect the presence of oneor more mobile devices in the vehicle. Additionally or alternatively,shared mobility service application 153 may cause the mobile system 150to attempt to communicate with one or more mobile devices in thevehicle. For example, mobile system 150 may enable a WI-FI base stationfunction and/or a BLUETOOTH pairing function and detect the presence ofone or more passengers based on the passengers’ mobile devicescommunicating with the mobile system via the enabled function. In someembodiments, shared mobility service application 153 may only determinethat a passenger is present after repeatedly detecting wireless signalsassociated with a passenger (e.g., more than a threshold number of timesand/or over a threshold period of time), in order to avoid spuriouspassenger detections based on wireless signals from other vehicles,pedestrians, etc.

In some embodiments, the profile computing platform 110 may perform someor all of the analysis of the recorded audio signals, video signals,and/or wireless signals. For example, the shared mobility serviceapplication 153 may record audio signals, video signals, and/or wirelesssignals received locally and upload the recorded audio signals and/orwireless signals via an interface of profile computing platform 110. Theprofile computing platform 110 may then analyze the recorded audiosignals and/or wireless signals to determine a number of passengers andindicate the determined number to the shared mobility serviceapplication 153.

FIG. 4 illustrates an example user interface 400 that shared mobilityservice application 153 may cause mobile system to present (e.g., viadisplay 156). The user interface 400 may include one or more indicationsof an estimated number of passengers detected by the shared mobilityservice application 153. For example, as illustrated the user interfacemay indicate a number of estimated passengers detected from recordedaudio signals. Additionally or alternatively, the user interface mayindicate a number of estimated passengers detected from receivedwireless signals. A user of the mobile system (e.g., the driver) mayindicate whether an estimated number of passengers is correct or not. Insome embodiments, the user interface 400 may only be displayed if thenumber of passengers detected from recorded audio signals differs fromthe number of passengers detected from wireless signals. Additionally oralternatively, the driver may manually enter a number of passengers viaan input device of mobile system 150 (e.g., via a touchscreen display156).

The mobile system 150 transmits the determined passenger data (as wellas audio signals, video signals, and/or wireless signals for analysis insome cases) to the profile computing platform 110. Such data may betransmitted periodically, in real-time, or at any frequency. Thepassenger data may include an estimated number of passengers (e.g., asdetermined based on wireless signals, video signals, and/or recordedaudio signals), a number of passengers indicated by the driver, anindication of whether the driver verified an estimated number ofpassengers, and the like.

Returning to FIG. 2C, at step 210, the mobile system 150 and/or theprofile computing platform 110 may determine further driver and/or riderinformation based on the captured audio signals, video signals, and/orwireless signals. Such signals may be analyzed to determine one or moreattributes of the driver and/or rider. For example, based on the audiosignals, the mobile system 150 and/or profile computing platform 110 maydetermine whether the driver and/or rider(s) talked frequently or didnot talk very much. The mobile system 150 and/or profile computingplatform 110 may further perform sentiment analysis on the recordedspeech to determine one or more moods of the driver and/or rider(s). Themobile system 150 and/or profile computing platform 110 may furtheranalyze video information to recognize one or more gestures made by thedriver and/or rider(s). The mobile system 150 and/or profile computingplatform 110 may further analyze wireless signals to determine whetherthe driver and/or rider(s) were actively using a cellular dataconnection or not. The mobile system 150 further transmits theadditional driver and/or rider information to the profile computingplatform 110. Such data may be transmitted periodically, in real-time,or at any frequency.

At step 211, the shared mobility service management system 120 mayoptionally determine ride availability based on the received passengerdata. The shared mobility service management system 120 may retrievestored information indicating a number of available seats in a vehicleassociated with the driver. The shared mobility service managementsystem 120 may then compare the number of available seats to a number ofpassengers to determine whether the driver associated with the mobilesystem has availability for picking up more riders.

At step 212, the mobile system 150 may also transmit driving and tripsdata collected at step 208 to shared mobility service management system120. The mobile system 150 may transmit the driving and trips dataperiodically and/or in real-time. Referring to FIG. 2D, at step 213,shared mobility service management system 120 may transmit some or allof the driving data and trips data to profile computing platform 110,which receives the transmitted data. In some embodiments, a sharedmobility service company associated with shared mobility servicemanagement system 120 may only share portions of the gathered drivingand trips data associated with a driver with an insurance companyassociated with profile computing platform 110.

At step 214, profile computing platform 110 may correlate the drivingdata with the one or more time periods associated with a mobilitystatus. The mobility status may include a “personal” status indicatingthat the mobile system 150 was not participating in the shared mobilityservice (e.g., the driver was on personal time), a “no passengers”status indicating that the mobile system 150 was participating in theshared mobility service without passengers (e.g., while looking for aride), a “heading to ride” status indicating the mobile system 150 washeading towards a booked ride for the shared mobility service, and/or a“passengers” status indicating that the mobile system 150 wasparticipating in the shared mobility service with riders (e.g., during abooked trip). The profile computing platform 110 may determine the timeperiods and corresponding mobility status based on the passengerpresence data (e.g., as determined at step 209 and/or received at step210) and/or the trips data (e.g., as received at step 213). For example,profile computing platform 110 may compare timestamps associated withdriving data to timestamps and/or time periods associated with passengerpresence data and/or trips data indicating the mobile system 150 wasengaged in shared mobility service trips. Accordingly, driving data maybe categorized with a mobility status indicating whether the mobilesystem 150 was engaged in the shared mobility service or not, andwhether any riders were riding in the associated vehicle.

At step 215, profile computing platform 110 may request and receive tripconditions data from one or more dynamic information source(s) 140. Suchsources may include sources of weather information, traffic information,road conditions, event information, and the like. In some embodiments,profile computing platform 110 may only retrieve trips condition datafor time periods corresponding to a mobility status of “no passengers”,“heading to ride,” or “passengers” (e.g., time periods during which thedriver was working for the shared mobility service). The profilecomputing platform 110 may transmit one or more queries indicating thetype of information desired, and a time and/or location corresponding tothe driver. For example, the profile computing platform 110 may transmita query for each 15-minute interval during which the mobile system wasin a mobility status of “passengers,” “heading to ride,” or “nopassengers.” The query may contain a time corresponding to the 15-minuteinterval (e.g., a start time, an end time, a time in the middle, etc.)and/or one or more locations corresponding to the 15-minute interval(e.g., GPS coordinates, neighborhoods, roads, road segments, and thelike).

Based on the received query, one of the dynamic information source(s)may retrieve the requested information and return it to profilecomputing platform 110. Accordingly, one or more dynamic informationsource(s) 140 may retrieve weather information, traffic information,road conditions information, event information, and/or other tripconditions data based on a time and one or more locations associatedwith each query. The profile computing platform 110 may receive suchinformation from the one or more dynamic information source(s) 140.

At step 216, profile computing platform 110 may update a profile for adriver and/or a rider based on the trip conditions data, the mobilitystatus data, the driving data, the trips data, the passenger presencedata, the driver information data, the history data, and/or the audio,video, and/or wireless signals captured by the shared mobility serviceapplication 153. The profile computing platform 110 may use one or morescore models 116 trained on the trip conditions data, the mobilitystatus data, the driving data, the trips data, the passenger presencedata, the driver information data, the history data, and/or the audio,video, and/or wireless signals captured by the shared mobility serviceapplication 153. The one or more score models 116 may be trained usingmachine-learning techniques, statistical techniques, and/or other suchtechniques for correlating one or more features with historical outcomedata. The profile computing platform 110 may train the one or more scoremodels 116 prior to executing the method of FIGS. 2A, 2B, 2C, 2D, and2E. The historical outcome data may include indications of risk and/orsafety. Additionally or alternatively, the historical outcome data mayinclude indications of driver profitability. Accordingly, the one ormore score models 116 may calculate a score that estimates safety and/orrevenue. In some embodiments, one score model 116 may be trained tocalculate a safety score, and another score model 116 may be trained tocalculate a profitability score.

The profile computing platform 110 may train a score model 116 forestimating a safety score using training data that includes tripconditions data, mobility status data, driving data, trips data,passenger presence data, driver information data, history data, visitedpoints of interest, and/or audio, video, and/or wireless signalscaptured by a shared mobility service application 153 for a large numberof drivers. For example, the training data set may tend to indicate howsafely the drivers were driving in various conditions, such as with orwithout passengers, during certain weather conditions, during certainroad conditions, during the day versus at night, near points ofinterest, and in other such conditions. The indicators of safety mayinclude accident data, tickets, license suspensions and/orcancellations, the cost of insuring a driver, and the like. In someembodiments, such a score model 116 may be trained to output acontinuous value indicating an estimated shared mobility serviceinsurance premium (e.g., in dollars) over a given period (e.g.,monthly). Additionally or alternatively, a score model 116 may betrained to output a discrete value indicating, for example, an estimatedrange of an insurance premium (e.g., in dollars) over a given period(e.g., monthly). For example, the model may classify a driver or riderinto one of 5 discrete insurance premium ranges.

In some embodiments, profile computing platform 110 may train aplurality of score models 116 for estimating a safety level in variousweather, traffic, and time conditions. For example, profile computingplatform 110 may train one score model 116 for calculating a safetyscore during the daytime, one score model 116 for calculating a safetyscore at night, one score model 116 for calculating a safety scoreduring snowy weather, one score model 116 for calculating a safety scorein heavy traffic, and the like. The profile computing platform 110 maytrain such conditions-specific models by restricting the training data(e.g., such as the trips data) to data correlating with the condition inquestion and/or by weighting such training data more heavily. Forexample, profile computing platform 110 may train a score model 116 forcalculating a safety score in light traffic by looking only at trainingdata corresponding to time periods when drivers were driving in lighttraffic and/or by weighting such training data more heavily than othertraining data.

In some embodiments, profile computing platform 110 may train aplurality of score models 116 for estimating a safety level in variousmobility statuses. For example, profile computing platform 110 may trainone score model 116 for calculating a safety score during the mobilitystatus of “personal,” one score model 116 for calculating a safety scoreduring a mobility status of “no passengers,” one score model forcalculating a safety score during a mobility status of “heading toride,” and one score model 116 for calculating a safety score during amobility status of “passengers.” The profile computing platform 110 maytrain such status-specific models by restricting the training data(e.g., such as the trips data) to data correlating with the mobilitystatus in question and/or by weighting such training data more heavily.

The profile computing platform 110 may also train one or more scoremodels 116 for estimating a driver’s revenue using training data thatincludes trip conditions data, mobility status data, driving data, tripsdata, passenger presence data, driver information data, and/or driverhistory data for a large number of drivers. For example, the trainingdata set may tend to indicate how much revenue the drivers were makingin various conditions, such as during certain weather conditions, duringcertain road conditions, during the day versus at night, and in othersuch conditions. The indicators of driver revenue may include numbers oftrips taken, revenue earned, and the like. In some embodiments, such ascore model 116 may be trained to output a continuous value indicatingan estimated shared mobility service revenue (e.g., in dollars) over agiven period (e.g., monthly). Additionally or alternatively, a scoremodel 116 may be trained to output a discrete value indicating, forexample, an estimated range of revenues (e.g., in dollars) over a givenperiod (e.g., monthly). For example, the model may classify a driverinto one of 5 discrete revenue ranges.

In some embodiments, profile computing platform 110 may train aplurality of score models 116 for estimating a driver’s revenue invarious weather, traffic, and time conditions. For example, profilecomputing platform 110 may train one score model 116 for calculating adriver revenue score during the daytime, one score model 116 forcalculating a driver revenue score at night, one score model 116 forcalculating a driver revenue score during snowy weather, one score model116 for calculating a driver revenue score in heavy traffic, and thelike. The profile computing platform 110 may train suchconditions-specific models by restricting the training data (e.g., suchas the driving data) to data correlating with the condition in questionand/or by weighting such training data more heavily. For example,profile computing platform 110 may train a score model 116 forcalculating a driver revenue score in light traffic by looking only attraining data corresponding to time periods when drivers were driving inlight traffic (and/or by weighting such training data more heavily thanother training data).

The profile computing platform 110 may also train one or more scoremodels 116 for estimating scores for different personality factors usingtraining data that includes trip conditions data, mobility status data,driving data (which may include data derived from sensor data, such asvisited points of interest), trips data, passenger presence data, driverinformation data (e.g., the gestures, moods, and other attributesdetermined from recorded video, audio, and wireless data), and/or driverhistory data for a large number of riders or drivers. For example, thetraining data set may tend to indicate whether the drivers or ridersexhibited different personality factors. The indicators of differentpersonality factors may include surveys, psychological assessments, andother such measures of the riders and drivers. In some embodiments, sucha score model 116 may be trained to output a continuous value indicatingan estimated personality score. Additionally or alternatively, a scoremodel 116 may be trained to output a discrete value indicating, forexample, whether a driver or rider has an attribute or not.

Accordingly, at step 216, profile computing platform 110 may use thetrip conditions data, the mobility status data, the driving data (whichmay include data derived from sensor data, such as visited points ofinterest), the trips data, the passenger presence data, the driverand/or rider information data (which may include, e.g., the gestures,moods, and other attributes determined from recorded video, audio, andwireless data), the history data, and/or the audio, video, and/orwireless signals captured by the shared mobility service application 153obtained at step 202, step 203, step 209, step 210, step 213, step 214,and/or step 215 as inputs to the one or more score models 116 todetermine one or more scores for a driver or rider. In some embodiments,profile computing platform 110 may extract features from the tripconditions data, the mobility status data, the driving data, the tripsdata, the passenger presence data, the driver information data, thehistory data, and/or the audio, video, and/or wireless signals capturedby the shared mobility service application 153 before using the featuresas inputs to the one or more score models 116 to calculate the scores.In some embodiments, the one or more score models 116 may also output aconfidence level. The confidence level may reflect a relatively lower orhigher confidence based, for example, on an amount of trip conditionsdata, mobility status data, driving data, trips data, passenger presencedata, driver information data, and/or driver history data that was inputto the model, on a similarity between the input information and trainingdata used to train the one or more models, and the like.

In some embodiments, profile computing platform 110 may calculatemultiple scores using multiple score models 116. Then, profile computingplatform 110 may combine the scores to form one or more compositescores. For example, profile computing platform 110 may average thesafety and revenue scores to form a composite profitability score. Insome instances, profile computing platform 110 may combine a safetyscore scaled to estimate a dollar cost of insuring the driver (e.g., thescore may be a negative number estimating a monthly insurance premium)with a revenue score scaled to estimate the driver’s revenue in dollars(e.g., the score may be a positive number estimating monthly revenue).The profile computing platform 110 may combine the scores using additionor subtraction to yield a composite score that predicts a driver’sfuture revenues less insurance costs.

The profile computing platform 110 may further add, remove, change, orotherwise update one or more attributes associated with the driver orrider (and/or a vehicle) based on the trip conditions data, the mobilitystatus data, the driving data (which may include data derived fromsensor data, such as visited points of interest), the trips data, thepassenger presence data, the driver information data (which may include,e.g., the gestures, moods, and other attributes determined from recordedvideo, audio, and wireless data), the history data, and/or the audio,video, and/or wireless signals captured by the shared mobility serviceapplication 153. For example, based on captured audio data indicatingthat a rider talks frequently, the profile for the rider may be taggedwith an “extroverted” attribute. As another example, based on capturedvideo data indicating that a driver often makes certain gestures whiledriving, the driver may be tagged with a “disagreeable” attribute. As athird example, based on driving and/or trips data, a driver may betagged with a “cautious driver” attribute. As another example, based onthe driver or rider frequently visiting a movie theater point ofinterest, the driver or rider may be tagged with a “movie buff”attribute.

Referring to FIG. 2E, at step 217, profile computing platform 110determines a fleet profile for some or all of the drivers associatedwith shared mobility service management system 120 based on scoresassociated with respective drivers. For example, profile computingplatform 110 may generate an average score for the fleet. As anotherexample, profile computing platform 110 may determine average scores fordifferent weather, traffic, and time conditions in order to provideinformation about the safety, revenue, and/or other aspects of fleeteffectiveness for different conditions. In some embodiments, profilecomputing platform 110 may rank each driver of the fleet based on arespective score associated with each driver (e.g., based on any of thescores of the drivers’ profiles, such as a composite score estimatingdriver profitability). Additionally or alternatively, profile computingplatform 110 may generate multiple driver rankings based on multiplescores, such as a safety score ranking and/or a revenue score ranking.In some embodiments, profile computing platform 110 may generate therankings based on current conditions, such that the rankings reflectdrivers’ scores in snowy weather when it is snowing, reflect drivers’scores at night when it is night, and the like. The profile computingplatform 110 may transmit the fleet profile information (including theone or more rankings) to the shared mobility service management system120, which may responsively display the fleet profile information.

In some embodiments, at step 217, profile computing platform 110 mayfurther determine which driver attributes caused a high or low score fora given driver. For example, profile computing platform 110 may analyzethe one or more models 116 to determine which variables are mostpredictive of high and/or low scores. The profile computing platform 110may associate the high and/or low values of such variables with one ormore attributes that indicate the reasons for their high and/or lowscores. For example, profile computing platform 110, after analyzing themodels 116, may determine that a high average speed is a predictivevariable for a low safety score. Then, profile computing platform 110may determine that a “speeder” attribute indicates that the driver mayhave a low safety score due to speeding.

FIG. 5 illustrates a user interface 500 displaying an example driverranking based on a safety score for each driver. As illustrated, theuser interface 500 may be configured to display a “highest risk” ranking(e.g., based on safety scores). Accordingly, Driver A may be rankedfirst in the ranking due to having the lowest safety score of the fleet.In some embodiments, the displayed ranking information may include oneor more attributes associated with the low safety score. For example,Driver A may have received a low safety score due to taking a highnumber of trips and driving in heavy traffic. As another example, DriverB may have low safety score due to speeding and being involved in atraffic accident. In some embodiments, some variables that cause a lowsafety score may be associated with a high revenue score. For example,taking a large number of trips and/or driving in heavy traffic may bepredictive of a high revenue score and a low safety score. Conversely,some variables may be predictive of both a low safety score and a lowrevenue score. For example, speeding and/or being involved in anaccident may cause both a low revenue score and a low safety score. Theuser interface 500 for displaying a safety ranking may distinguishbetween such variables. For example, the displayed reasons for Driver A(which may be predictive of high revenue) may be highlighted in onecolor (such as green), and the displayed reasons for Driver B (which maybe predictive of low revenue) may be highlighted in another color (suchas red).

With further reference to FIG. 2E, at step 218, shared mobility servicemanagement system 120 may receive a trip request from a rider. Forexample, the trip request may indicate a desired pickup location and adesired drop-off location for the rider.

At step 219, shared mobility service management system 120 may offer theopportunity to pick up the rider to one or more drivers. In someembodiments, the shared mobility service management system 120 maytransmit a notification indicating the ride opportunity to a firstdriver. Shared mobility service application 153, running on a mobilesystem associated with the driver (e.g., one of mobile system 150, 160,or 170), may display the notification. The displayed notification mayinclude options for accepting the ride or declining the ride. If thedriver declines the ride, shared mobility service management system 120may select a second driver and transmit a notification indicating theride opportunity to the second driver. The shared mobility servicemanagement system 120 may proceed in this way until a driver accepts theride.

In some embodiments, shared mobility service management system 120 mayselect the first driver, the second driver, and so on in an order basedat least in part on the driver rankings of the fleet profile, a currentlocation of each driver, a match between a profile of the driver and aprofile of the new rider, a match between a profile of the new rider anda profile of one or more riders in the driver’s vehicle, and/or acurrent availability associated with each driver (e.g., a number ofseats available as determine at step 211). In some embodiments, thescore-based rankings may be adjusted based on a profile match similarity(e.g., between a driver and a rider requesting a trip and/or between oneor more current riders in a vehicle and a potential new rider for thesame vehicle), such that drivers of vehicles associated with profilesthat more closely match a new rider’s profile may be ranked higher for apotential ride. Accordingly, profile computing platform 110 and/orshared mobility service management system 120 may dynamically generatedriver rankings based on varying conditions (e.g., weather conditions)and based on data associated with potential rides (e.g., based on arider profile).

In some embodiments, highly-ranked drivers (e.g., drivers with highscores and/or drivers with profiles that more closely match a new riderprofile and/or drivers transporting riders with profiles that moreclosely match a new rider profile) may receive preferences for acceptingrides. For example, if two available drivers are within a thresholddistance of a rider requesting a ride, a higher-ranking driver may begiven first choice for picking up the rider. In this example, the morehighly-ranked driver may receive a notification of the ride opportunitybefore the lower-ranked driver. The lower-ranked driver may receive anotification of the ride opportunity if the higher-ranked driverdeclines the ride opportunity.

In some embodiments, higher-ranked drivers may have more time to accepta ride. For example, shared mobility service application 153 may, bydefault, display a notification of a ride opportunity for 10 secondsbefore automatically declining the ride opportunity. However, ahighly-ranked driver (e.g., a driver associated with a score above apredetermined threshold, an above-average score, or the like) mayreceive extra time (e.g., 15 seconds) to decide whether to accept theride opportunity.

In some embodiments, higher-ranked drivers may be matched withhigher-rated riders. For example, when a higher-ranked driver and alower-ranked driver are within a threshold distance of two ridersrequesting rides, the higher-ranked driver may receive a notificationindicating a ride opportunity with the higher-rated rider, and thelower-ranked driver may receive a notification indicating a rideopportunity with the lower-rated rider.

In some embodiments, riders may be preferentially matched with driversand/or other riders having similar profiles. For example, if a rider hasa large number of attributes in common with a driver, the driver mayreceive a preference for picking up the rider. Additionally oralternatively, a driver may receive a preference for picking up a secondrider when a first rider in the driver’s vehicle shares a number ofattributes with the second rider (e.g., as in a carpool).

In some embodiments, higher-ranked drivers may be associated with agreater radius for determining ride opportunities. For example, theshared mobility service management system 120 may, by default, offer aride opportunity for the available driver that is closest to arequesting rider. However, a higher-ranked driver may be associated witha distance multiplier (e.g., 1.2 times), and shared mobility servicemanagement system 120 may divide the higher-ranked driver’s distancefrom the rider by the increased distance multiplier for purposes ofdetermining the nearest available driver. Accordingly, a higher-rankeddriver with a 1.2 distance multiplier at a distance of 1.1 kilometersfrom a rider may receive a first opportunity over a lower-ranked driverwith a 1.0 distance multiplier at a distance of 1.0 kilometers from therider (e.g., because a distance of 1.1/1.2 is less than 1.0/1.0).

As discussed above, in some embodiments, profile computing platform 110and/or shared mobility service management system 120 may rank driversdynamically based on current conditions data. For example, at night,profile computing platform 110 and/or shared mobility service managementsystem 120 may rank drivers based on a night-driving score. Similarly,during rainy weather, profile computing platform 110 and/or sharedmobility service management system 120 may rank drivers based on arainy-driving score, during heavy-traffic periods, profile computingplatform 110 and/or shared mobility service management system 120 mayrank drivers based on a heavy-traffic score, and the like. In theseembodiments, shared mobility service management system 120 may providetrip booking preferences to drivers based on the conditions-specificranking and/or based on other rankings. Accordingly, drivers may receivepreferences during some conditions, but not during others, based onconditions-specific driver rankings.

In some embodiments, drivers may receive a percentage of a fare based onthe one or more safety scores for different mobility statuses associatedwith a potential trip. For example, if a trip will cause a driver todrive 1 mile to pick up a passenger, then drive 5 miles with thepassenger, the driver’s percentage of the fare may be calculated based adriver’s safety score for a “heading to ride” mobility status for the1-mile portion of the trip and based on the driver’s safety score for a“passengers” mobility status for the 5-mile portion of the trip. Theshared mobility service management system 120 may determine the portionsof the trip, then calculate the fare percentage based on the driver’ssafety score for the various mobility statuses associated with thedifferent portions of the trip. For example, if a driver’s safety scorefor a “heading to ride” mobility status is below average, a default farepercentage or amount may be adjusted downwards in proportion to theamount of the potential trip that will be spend in the “heading to ride”status. Additionally or alternatively, if the driver’s safety score fora “passengers” mobility status is above average, the fare percentage oramount may be adjusted upwards in proportion to the amount of thepotential trip that will be spend in the “passengers” status.Accordingly, in some embodiments, drivers with higher safety scores mayreceive an increased percentage of a rider fare. For example, bydefault, a shared mobility service company may pay a driver 75% of afare. However, due to one or more safety scores that are above or belowaverage and/or above or below one or more predetermined thresholds, thepercentage may be increased or decreased (e.g., to 76% or 74%).

In some embodiments, the shared mobility service management system 120may calculate a cost to insure the driver for each portion of apotential trip, based on the associated driver safety score for variousmobility statuses. The shared mobility service management system 120 maythen determine a total cost of insuring the driver for the entire trip(e.g., by adding the costs for each portion of the trip). The sharedmobility service management system 120 may then calculate a default fareamount for the trip (e.g., based on the estimated distance and/orduration of the trip, a congestion factor, and the like). The sharedmobility service management system 120 may then adjust the defaultamount of the fare to be awarded to the driver based on the calculatedcost of insuring the driver for the entire trip (e.g., by subtractingthe cost from the default fare amount).

In some embodiments, the shared mobility service management system 120may calculate a cost per mile to insure the driver for differentmobility statuses. For example, a driver may be associated with a$1/mile cost for a mobility status of “personal,” a $0.50/mile cost fora mobility status of “no passengers,” a $3.50/mile cost for a mobilitystatus of “heading to ride” (e.g., because the driver is known to speedduring this mobility status), and a $1/mile cost for a mobility statusof “passengers.” The shared mobility service management system 120 maycalculate the cost per mile based on a safety score for each mobilitystatus. The shared mobility service management system 120 may use thecost per mile for each mobility status to determine a cost to insure thedriver for each portion of a trip and/or the cost to insure the driverfor the total trip. The shared mobility service management system 120may further use such cost information to determine a percentage oramount of a fare to provide to a driver (e.g., by subtracting the totalcost from a base fare to yield a fare to be paid to a driver).

In some embodiments, a rider fare may also be adjusted up or down basedon a match between the profile of the rider and the profile(s) of thedriver and/or one or more other riders. For example, when the ridershares a threshold number of attributes in common with the driver and/orother riders, the price of the ride may be increased (e.g., to reflectthe additional value to the rider of a pleasant ride). The sharedmobility service management system 120 thus may adjust pricing based onattribute matches between one or more riders and/or a driver.

In some embodiments, a driver’s percentage of a fare may be increasedand/or a rider’s fare may be decreased based on certain attributeconflicts with one or more other riders and/or driver of a vehicle. Forexample, a rider having an attribute of “extroverted” may receive alower fare to ride with a driver having an attribute of “introverted,”due to the conflicting attributes. The shared mobility servicemanagement system 120 thus may adjust pricing based on attributeconflicts between one or more riders and/or a driver.

In some embodiments, a fare and/or a driver’s percentage of the fare maybe increased or decreased based on one or more attributes of a vehicleassociated with the driver. For example, fares may be adjusted upwardsfor newer, more expensive, better-maintained, or otherwise bettervehicles. Similarly, a driver’s percentage may be reduced for older,more poorly-maintained, or otherwise worse vehicles.

In some cases, such as for shared mobility services using autonomousvehicles, no driver may be present, and shared mobility servicemanagement system 120 may select a vehicle to pick up a potential riderbased on several factors, including a vehicle profile, and riderprofiles for any passengers already riding in the vehicle, as well asother factors such as location, route, and the like. For example, sharedmobility service management system 120 may select a first autonomousvehicle to pick up a first rider requesting a ride over a secondautonomous vehicle based on the first autonomous vehicle carrying asecond rider that has one or more attributes in common with, or lacksattribute conflicts with, the first rider.

At step 220, shared mobility service management system 120 may transmitdriver feedback information to the driver and/or cause the driverfeedback information to be displayed by a mobile system associated withthe driver. The driver feedback information may include indications ofthe driver’s score and/or how the driver can improve the driver’s score.

FIG. 6 illustrates an example user interface 600 for displaying driverfeedback to a driver (e.g., via display 156 of mobile system 150). Asillustrated, the user interface 600 may include an indicator of adriver’s overall score. The user interface 600 may further includeindications of one or more input variables that affect the driver’sscore (e.g., an average speed). The user interface 600 may furtherdisplay one or more indications of booking preferences based on adriver’s score. For example, the user interface 600 may display anindication that the driver will receive 2% more of a rider’s fare.

Additionally or alternatively, the user interface 600 may display one ormore indicators of a conditions-specific score. The user interface 600may display an indicator of a driver’s score in specific conditions,such as rainy conditions. In the illustrated example, the user interface600 may display an indication that the driver’s safety score is below athreshold in some conditions (e.g., indicating a high risk). The userinterface 600 may, in some embodiments, display a plurality of suchindicators corresponding to a plurality of different conditions. Asbefore, the user interface 600 may further display indications of one ormore input variables that affected the driver’s conditions-specificscore (e.g., an average speed). Additionally or alternatively, if adriver’s scores are below a threshold, suggestions for improving thescores and/or may be displayed by user interface 600. Such suggestionsmay be selected based on input variables that cause a low score. Forexample, when a driver is associated with a high average speed, asuggestion of driving more slowly may be displayed.

FIG. 7 depicts an illustrative method for managing a shared mobilityservice based on scores in accordance with one or more exampleembodiments. At step 705, a shared mobility service management computingplatform may receive driving information associated with a first driverof a shared mobility service. At step 710, the shared mobility servicemanagement computing platform may determine one or more time periodsduring which the first driver was transporting at least one rider of theshared mobility service. At step 715, the shared mobility servicemanagement computing platform may correlate the driving information withthe one or more time periods. At step 720, the shared mobility servicemanagement computing platform may determine, based on the correlation, afirst score for the first driver. At step 725, the shared mobilityservice management computing platform may determine that the first scorefor the first driver is higher than a second score for a second driver.At step 730, the shared mobility service management computing platformmay, responsive to the determining of step 725, transmit a notificationof a ride opportunity to the first driver.

The systems and methods described herein beneficially incentivizevehicles of a shared mobility service to drive safely and efficiently.By collecting information about potential drivers and providing aninitial score before hiring a driver, the systems and methods allow ashared mobility service to screen for drivers that will transport riderssafely and effectively. Then, by monitoring driving and/or tripsinformation in various contexts, and with respect to whether riders arepresent or not, the systems and methods described herein may continue tomonitor whether a driver transports riders safely and effectively, bothoverall and in various traffic, weather, and road conditions. The sharedmobility service can then optimize the matching of riders to drivers toensure that riders will be transported safely and effectively based oncurrent conditions. Moreover, by providing specific feedback on thescores to the drivers, systems and methods described herein incentivizedrivers to improve the safety and effectiveness of their driving.

One or more aspects of the disclosure may be embodied in computer-usabledata or computer-executable instructions, such as in one or more programmodules, executed by one or more computers or other devices to performthe operations described herein. Generally, program modules includeroutines, programs, objects, components, data structures, and the likethat perform particular tasks or implement particular abstract datatypes when executed by one or more processors in a computer or otherdata processing device. The computer-executable instructions may bestored as computer-readable instructions on a computer-readable mediumsuch as a hard disk, optical disk, removable storage media, solid-statememory, RAM, and the like. The functionality of the program modules maybe combined or distributed as desired in various embodiments. Inaddition, the functionality may be embodied in whole or in part infirmware or hardware equivalents, such as integrated circuits,application-specific integrated circuits (ASICs), field programmablegate arrays (FPGA), and the like. Particular data structures may be usedto more effectively implement one or more aspects of the disclosure, andsuch data structures are contemplated to be within the scope of computerexecutable instructions and computer-usable data described herein.

Various aspects described herein may be embodied as a method, anapparatus, or as one or more computer-readable media storingcomputer-executable instructions. Accordingly, those aspects may takethe form of an entirely hardware embodiment, an entirely softwareembodiment, an entirely firmware embodiment, or an embodiment combiningsoftware, hardware, and firmware aspects in any combination. Inaddition, various signals representing data or events as describedherein may be transferred between a source and a destination in the formof light or electromagnetic waves traveling through signal-conductingmedia such as metal wires, optical fibers, or wireless transmissionmedia (e.g., air or space). In general, the one or morecomputer-readable media may be and/or include one or more non-transitorycomputer-readable media.

As described herein, the various methods and acts may be operativeacross one or more computing servers and one or more networks. Thefunctionality may be distributed in any manner, or may be located in asingle computing device (e.g., a server, a client computer, and thelike). For example, in alternative embodiments, one or more of thecomputer systems discussed above may be combined into a single computersystem, and the various functions of each computer system may beperformed by the single computer system. In such arrangements, anyand/or all of the above-discussed communications between computersystems may correspond to data being accessed, moved, modified, updated,and/or otherwise used by the single computer system. Additionally oralternatively, one or more of the computing platforms discussed abovemay be implemented in one or more virtual machines that are provided byone or more physical computing devices. In such arrangements, thevarious functions of each computing platform may be performed by the oneor more virtual machines, and any and/or all of the above-discussedcommunications between computing platforms may correspond to data beingaccessed, moved, modified, updated, and/or otherwise used by the one ormore virtual machines.

Aspects of the disclosure have been described in terms of illustrativeembodiments thereof. Numerous other embodiments, modifications, andvariations within the scope and spirit of the appended claims will occurto persons of ordinary skill in the art from a review of thisdisclosure. For example, one or more of the steps depicted in theillustrative figures may be performed in other than the recited order,and one or more depicted steps may be optional in accordance withaspects of the disclosure

What is claimed is:
 1. A method comprising: at a shared mobility servicemanagement computing platform comprising at least one processor, memory,and a communication interface: receiving, by the at least one processor,via the communication interface, driving information associated with afirst driver of a shared mobility service, the driving information basedon processed sensor data received from one or more sensors of a vehicleassociated with the first driver; determining, by the at least oneprocessor, based on at least one of a recorded audio signal and awireless signal, one or more time periods during which the first driverwas transporting at least one passenger of the shared mobility service;determining, by the at least one processor, based on correlating thedriving information with the one or more time periods, a first score forthe first driver; and transmitting, by the at least one processor, viathe communication interface, a notification of a ride opportunity to thefirst driver responsive to determining that the first score for thefirst driver is higher than a second score for a second driver.